QuickSightのグループ名変更をしたいときの代替案を考えてみた
はじめに
データアナリティクス事業本部 BIチームのkariyaです。
QuickSightでは、ユーザーをグループ単位にまとめ、フォルダ共有や行レベルセキュリティの設定などをグループ単位で設定することができます。
このグループの名称は変更できないのですが、もし変更したくなったらどのような代替案があるのか考えてみました。 今回は新規グループを別名で作成後、旧グループを削除する力業でやってみます。
検証前の状態
共有フォルダをグループが閲覧できる
分析を作成し、グループdefault_namespace_group
に所属しているユーザーが閲覧できるフォルダに共有した状態です。
グループ単位で行レベルセキュリティを設定している
データセットは下記内容となっており、行レベルセキュリティの設定が無ければproduct_nameApple
, Banana
, Grape
の全てのデータが表示されます。
売上サンプルデータ(クリックすると展開します)
id,product_id,product_name,order_date,price,quantity 1,1001,Apple,2022-01-01,500,2 2,1002,Banana,2022-01-01,1500,1 3,1001,Apple,2022-01-02,500,3 4,1003,Grape,2022-01-03,2000,1 5,1002,Banana,2022-01-03,1500,1 6,1001,Apple,2022-01-03,500,5 7,1003,Grape,2022-01-04,2000,2 8,1001,Apple,2022-01-05,500,1 9,1002,Banana,2022-01-06,1500,1 10,1001,Apple,2022-01-07,500,4 11,1003,Grape,2022-01-08,2000,3 12,1002,Banana,2022-01-09,1500,1 13,1001,Apple,2022-01-10,500,2 14,1003,Grape,2022-01-10,2000,1 15,1002,Banana,2022-01-11,1500,1 16,1001,Apple,2022-01-12,500,6 17,1003,Grape,2022-01-13,2000,2 18,1002,Banana,2022-01-13,1500,1 19,1001,Apple,2022-01-14,500,3 20,1003,Grape,2022-01-15,2000,1 21,1002,Banana,2022-01-15,1500,1 22,1001,Apple,2022-01-16,500,2 23,1003,Grape,2022-01-17,2000,3 24,1002,Banana,2022-01-18,1500,1 25,1001,Apple,2022-01-19,500,4 26,1003,Grape,2022-01-20,2000,1 27,1002,Banana,2022-01-21,1500,1 28,1001,Apple,2022-01-22,500,5 29,1003,Grape,2022-01-23,2000,2 30,1002,Banana,2022-01-24,1500,1
データセットに下記の行レベルセキュリティを設定することで、グループdefault_namespace_group
がproduct_nameApple
とGrape
だけ表示できる状態にしています。
GroupName,product_name default_namespace_group,"Apple,Grape"
やりたいこと
- 変更後のグループで共有フォルダ内の分析が閲覧できる
- 変更後のグループで行レベルセキュリティが適用されている
やってみる
新規グループを作成する
QuickSightのADMINユーザーで、QuickSightの管理 へ移動します。
グループの管理 > 新しいグループ を選択します。
変更後のグループ名称を入力して「作成」を押します。今回はdefault_namespace_group_fixed
とします。
共有フォルダを新規グループに共有する
共有フォルダより、対象のフォルダの行にある3点リーダーの「共有」を選択します。
新たに作成したグループdefault_namespace_group_fixed
を選択して「共有」を選択します。
旧グループを削除する
ここで元々あったグループdefault_namespace_group
を削除します。
GUIでは削除の操作ができないため、CloudShellで実施します。
まずはlist-groups
で削除前にグループの一覧を取得します。
aws quicksight list-groups --aws-account-id 999999999999 --namespace default
{ "Status": 200, "GroupList": [ { "Arn": "arn:aws:quicksight:ap-northeast-1:999999999999:group/default/default_namespace_group", "GroupName": "default_namespace_group", "PrincipalId": "group/d-9567052c53/c1595dcf-af69-48ce-9909-8828dd3d30d4" }, { "Arn": "arn:aws:quicksight:ap-northeast-1:999999999999:group/default/default_namespace_group_fixed", "GroupName": "default_namespace_group_fixed", "Description": "変更後のグループ名を新規作成", "PrincipalId": "group/d-9567052c53/f28638c3-1fbf-45b9-baba-a2e26fe57383" } ], "RequestId": "c2a9a260-3cc2-46a8-81f9-140ed396828e" }
delete-group
でグループ削除をします。
aws quicksight delete-group --aws-account-id 999999999999 --namespace default --group-name default_namespace_group
削除後に再度list-groupsを実行すると、グループが削除されているのが確認できました。
aws quicksight list-groups --aws-account-id 999999999999 --namespace default
{ "Status": 200, "GroupList": [ { "Arn": "arn:aws:quicksight:ap-northeast-1:999999999999:group/default/default_namespace_group_fixed", "GroupName": "default_namespace_group_fixed", "Description": "変更後のグループ名を新規作成", "PrincipalId": "group/d-9567052c53/f28638c3-1fbf-45b9-baba-a2e26fe57383" } ], "RequestId": "d41f53b7-61da-4e92-b2a7-9dc98b8d15b6" }
分析の確認
現時点で分析を確認してみると、データにアクセスできないというメッセージが表示され、ビジュアルを見ることができません。
行レベルセキュリティ設定がされていないことが原因ですので、この後設定していきます。
行レベルセキュリティ設定を更新する
行レベルセキュリティ設定のcsvファイルを開き、GroupNameをdefault_namespace_group
からdefault_namespace_group_fixed
に更新します。
GroupName,product_name default_namespace_group_fixed,"Apple,Grape"
データセット > 行レベルセキュリティのファイル(今回はRLS) を選択します。
データセットの編集を選択します。
ファイルの更新を選択し、ファイルのアップロードから更新後のcsvファイルをアップロードします。
保存して公開を選択します。
これで行レベルセキュリティ設定の更新ができました。
分析の確認(2回目)
もう一度分析を確認すると、データの閲覧ができました。
まとめ
グループ名の変更はできませんが、下記を実施することでフォルダ名を変更したような状況を実現することができました。
- 新規グループ作成
- 旧グループ削除
- 新規グループに旧グループと同様のフォルダ共有と行レベルセキュリティ設定を実施
少し手間がかかるため、グループ作成の際は慎重に行うと良いですが、グループ名を変更したい場合はこのような方法も取れるのではないかと思いました。
最後までお読み頂きありがとうございました。
少しでも参考になりましたら嬉しいです。